package cookie;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;

/**
 *  设置cookie数据的存在时间
 *  设置同一服务器上的数据共享
 *
 *   持续化存储
 * - setMaxAge(int  serconds)
 * - 传入正数：将Cookie数据写到硬盘的文件中。持久化存储。cookie存活的时间
 * - 出入负数：默认值
 * - 零：删除cookie信息
 *
 *  - 假设在一个tomcat服务其中部署了多个web项目，那么在这些web项目中cookie能不能共享？
 *   - 默认情况下cookie不能共享
 * - setPath(String  path)：设置cookie的获取范围。默认情况下，设置当前的虚拟目录
 *   - 如果要共享，则可以将path设置为"/"
 *
 * @author Mc.Chai
 * @program: JavaWeb
 * @create 2022-03-24-10:07 10:07
 */
@WebServlet("/CookieDemo3")
public class CookieDemo3 extends HttpServlet {
    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        //获取Cookie，拿到数据
        Cookie cookie = new Cookie("msg", "张三");
        //可以存活30秒自动删除文件
        cookie.setMaxAge(30);
        //同一服务器内数据的共享
        cookie.setPath("/");
        response.addCookie(cookie);
    }

    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        this.doPost(request, response);
    }
}
